package com.enjoy.prepare.proxy.cglib;

import net.sf.cglib.proxy.Enhancer;

public class Client {
    public static void main(String[] args) {
        // 代理类class文件存入磁盘方便我们反编译
//        System.setProperty(DebuggingClassWriter.DEBUG_LOCATION_PROPERTY, "F:\\enjoy-rpc\\prepare\\code");
        // 通过cglib获取代理实例的过程
        Enhancer enhancer = new Enhancer();
        // 设置enhancer的父类
        enhancer.setSuperclass(HelloService.class);
        // 设置enhancer的回调对象
        enhancer.setCallback(new HelloServiceInterceptor());

        // 创建代理对象
        HelloService proxy = (HelloService) enhancer.create();


        // 通过代理对象调用目标方法
        proxy.sayHello();
    }
}
